package com.qihetimes.earthangel.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qihetimes.earthangel.common.MessageType;
import com.qihetimes.earthangel.model.Conversation;
import com.qihetimes.earthangel.model.ConversationMessage;
import com.qihetimes.earthangel.model.User;
import com.qihetimes.earthangel.model.bo.ConversationBO;
import com.qihetimes.earthangel.model.bo.ConversationShowBO;
import com.qihetimes.earthangel.model.bo.MessageSendBO;

/**
 * <p>
 * 会话表 服务类
 * </p>
 *
 * @author f4cklangzi@gmail.com
 * @since 2021-12-18
 */
public interface IConversationService extends IService<Conversation> {
    
    Page<Conversation> list(ConversationBO param);
    
    Conversation create(String userId, String goodsId);
    
    void send(MessageSendBO param);
    
    Page<ConversationMessage> show(ConversationShowBO param);
    
    Conversation getSystemConversation(User userId);
    
    void sendSystemMessage(MessageType messageType, User toUser, String content, boolean isPush);
}
